
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel=stylesheet href='include/hoj.css' type='text/css'>
</head>
<body>
<center>
<div style="width:90%; text-align:left">
<img src="image/logo.png"/>
</div>
<table width=96%> 
	<tr align="center" class='hd' valign="top">
				<th><a href="faqs.php">F.A.Qs</a></th>
		<th><a href="./bbs.php">Web Board</a></th>
		<th><a href="./">Home</a></th>
		<th><a href="./problemset.html">ProblemSet</a></th>
		<th><a href="./status.php">Status</a></th>
		<th><a href="./ranklist.php">Ranklist</a></th>
		<th><a href="./contest.php">Contest</a></th>
		<th><a href=loginpage.php>Login</a></th><th><a href=registerpage.php>Register</a></th>	</tr>
</table>
</center>
<center>
<div class="notice">
	<div>
		<B>Notice:</B>鉴于种种原因，本OJ自下周星期一（3月5号）开始不再全面开放，请各位做好善后事宜，谢谢合作。	</div>
</div>
</center>
</div>
<title>Problem 2109. -- [Noi2010]Plane 航空管制 -- 衡阳八中OJ离线版-2012-02-29</title><center><h2>2109: [Noi2010]Plane 航空管制</h2><span class=green>Time Limit: </span>10 Sec&nbsp;&nbsp;<span class=green>Memory Limit: </span>552 MB<br><span class=green>Submit: </span>146&nbsp;&nbsp;<span class=green>Solved: </span>56<br>[<a href='submitpage.php?id=2109'>Submit</a>][<a href='problemstatus.php?id=2109'>Status</a>][<a href='bbs.php?id=2109'>Discuss</a>]</center><h2>Description</h2><div class=content>世博期间，上海的航空客运量大大超过了平时，随之而来的航空管制也频频
发生。最近，小X就因为航空管制，连续两次在机场被延误超过了两小时。对此，
小X表示很不满意。 
在这次来烟台的路上，小 X不幸又一次碰上了航空管制。于是小 X开始思考
关于航空管制的问题。 
假设目前被延误航班共有 n个，编号为 1至n。机场只有一条起飞跑道，所
有的航班需按某个顺序依次起飞（称这个顺序为起飞序列）。定义一个航班的起
飞序号为该航班在起飞序列中的位置，即是第几个起飞的航班。 
起飞序列还存在两类限制条件： 
&#61623;  第一类（最晚起飞时间限制）：编号为 i的航班起飞序号不得超过 ki; 
&#61623;  第二类（相对起飞顺序限制）：存在一些相对起飞顺序限制(a, b)，表示
航班 a的起飞时间必须早于航班 b，即航班 a的起飞序号必须小于航班 b
的起飞序号。 
小X 思考的第一个问题是，若给定以上两类限制条件，是否可以计算出一个
可行的起飞序列。第二个问题则是，在考虑两类限制条件的情况下，如何求出每
个航班在所有可行的起飞序列中的最小起飞序号。 

</div><h2>Input</h2><div class=content>第一行包含两个正整数 n和m，n表示航班数目，m表示
第二类限制条件（相对起飞顺序限制）的数目。 
第二行包含 n个正整数 k1, k2, &#8222;, kn。 
接下来 m行，每行两个正整数 a和b，表示一对相对起飞顺序限制(a, b)，
其中1≤a,b≤n, 表示航班 a必须先于航班 b起飞。 

</div><h2>Output</h2><div class=content>包含 n个整数 t1, t2, &#8222;, tn，其中 ti表示航班i可能的最小起飞序
号，相邻两个整数用空格分隔。 

</div><h2>Sample Input</h2>
			<div class=content><span class=sampledata><br />
5 5 <br />
4 5 2 5 4 <br />
1 2 <br />
3 2 <br />
5 1 <br />
3 4 <br />
3 1 <br />
<br />
</span></div><h2>Sample Output</h2>
			<div class=content><span class=sampledata><br />
3 4 1 2 1 <br />
<br />
在样例 1 中： <br />
起飞序列 3 5 1 4 2 满足了所有的限制条件，所有满足条件的起飞序列有： <br />
3 4 5 1 2           3 5 1 2 4           3 5 1 4 2           3 5 4 1 2 <br />
5 3 1 2 4           5 3 1 4 2           5 3 4 1 2 <br />
由于存在(5, 1)和(3, 1)两个限制，航班1只能安排在航班 5和3之后，故最早<br />
起飞时间为3，其他航班类似。 <br />
<br />
<br />
对于30%数据：n≤10； <br />
对于60%数据：n≤500； <br />
对于100%数据：n≤2,000，m≤10,000。 </span></div><h2>HINT</h2>
			<div class=content><p></p></div><h2>Source</h2>
			<div class=content><p><a href='problemset.html?search='></a></p></div><center>[<a href='submitpage.php?id=2109'>Submit</a>][<a href='problemstatus.php?id=2109'>Status</a>][<a href='bbs.php?id=2109'>Discuss</a>]</center>﻿<br>

<a href="./"><span class=red>HOME</span></a>
<a href="javascript:history.go(-1)"><span class=red>Back</span></a>

<hr>
<center>
	<div class="footer">
			<a href=setlang.php?lang=ko>한국어</a>&nbsp;
		<a href=setlang.php?lang=cn>中文</a>&nbsp;
		<a href=setlang.php?lang=fa>فارسی</a>&nbsp;
		<a href=setlang.php?lang=en>English</a>&nbsp;
		<a href=setlang.php?lang=th>ไทย</a>
	<br>		<div>版权所有 &copy;2008-2012 WaterPark Organization. | <script src="http://s21.cnzz.com/stat.php?id=2982771&web_id=2982771" language="JavaScript"></script>
</div>
		<div>Based on opensource project <a href="http://hustoj.googlecode.com">hustoj</a>.</div>
	</div>
</center>
</body>
</html>
